<template>
    <div>
        <van-nav-bar title="短信验证码登录" style="background: black;" />
        <van-form @submit="onSubmit">
            <van-cell-group inset>
                <van-field v-model="username" name="username" label="手机号" placeholder="手机号"
                    :rules="[{ pattern, message: '请填写手机号' }]" />

                <van-field v-model="sms" center clearable label="短信验证码" placeholder="请输入短信验证码">
                    <template #button>
                        <van-button size="small" type="primary" :disabled="time>0 ? true:false" @click="gomas">{{ time>0?time+'秒':'获取验证码' }}</van-button>
                    </template>
                </van-field>

                <van-field v-model="password" type="password" name="password" label="密码" placeholder="密码"
                    :rules="[{ required: true, message: '请填写密码' }]" />
            </van-cell-group>
            <div style="margin: 16px;">
                <van-button round block type="primary" native-type="submit">
                  登录
                </van-button>
            </div>
        </van-form>



    </div>
</template>

<script setup>
import { ref } from 'vue';
import { loginApi } from '@/api/api';
let username=ref('')
let password=ref('')
let pattern=/^1[3-9]\d{9}$/
let sms=ref('')
let time=ref(0)
let timer;
const gomas=()=>{
    sms.value=Math.floor(Math.random()*100000)
    if(time.value>0)return
    time.value=60
    timer=setInterval(()=>{
        time.value--
        if(time.value==0){
            clearInterval(timer)
        }
    },1000)
}
import { showSuccessToast, showFailToast } from 'vant';
const onSubmit=()=>{
    loginApi(username.value,password.value).then(res=>{
        console.log(res)
        if(res.data.code==1){
            showSuccessToast('登录成功')
            localStorage.setItem('token',res.data.data.token)
            localStorage.setItem('username',res.data.data.username)
            

        }
        else{
            showSuccessToast('登录失败')
        }
        
    })
}




</script>

<style lang="scss" scoped></style>